package fifteenth.认识Class类;
class O{
}
public class 实例化Class类对象 {
    public static void main(String[] args) throws ClassNotFoundException {
        Class<?> c1 = null;
        Class<?> c2 = null;
        Class<?> c3 = null;
        //最常用形式，Class.forName()
        c1=Class.forName("fifteenth.认识Class类.O");
        //对象.class
        c2 = new O().getClass();
        //类.class
        c3= O.class;
        System.out.println("类名称："+c1.getName());
        System.out.println("类名称："+c2.getName());
        System.out.println("类名称："+c3.getName());
    }
}
/**
 * 使用forName()方法更具备灵活性
 * 以上三种方法，除了Class.forName()其他两种都需要导入一个明确的类，这样如果一个类操作不明确时，用起来可能会受到一些限制。
 * 但是forName()传入时候，只需要字符串的方式传入就行，这样就让程序具备了极大的灵活性。
 */
/*
D:\WorkSpaces\Java\jdk-21\bin\java.exe "-javaagent:D:\Software\IntelliJ IDEA\IntelliJ IDEA 2023.3.2\lib\idea_rt.jar=53725:D:\Software\IntelliJ IDEA\IntelliJ IDEA 2023.3.2\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\WorkSpaces\JavaDevelopBase_start_329\out\production\JavaDevelopBase_start_329 fifteenth.认识Class类.实例化Class类对象
类名称：fifteenth.认识Class类.O
类名称：fifteenth.认识Class类.O
类名称：fifteenth.认识Class类.O

Process finished with exit code 0
 */